#ifndef CAMPAIGNFORM_H
#define CAMPAIGNFORM_H


#include <campaign.h>
#include <dtwentymodel.h>


#include <QWidget>


namespace Ui {
class CampaignForm;
}

class CampaignForm : public QWidget
{
    Q_OBJECT
    
public:

    CampaignForm(QWidget *parent = 0);
    CampaignForm(const QString& campaignFileName, QWidget* parent = 0);

    ~CampaignForm();
    
    QString campaignName() const;
    bool campaignChanged() const;


public slots:

    bool onSave(const QString& fileName = QString());


private slots:

    void on_actionAddSkill_triggered();

    void on_actionAddSpecialAbility_triggered();

    void on_actionAddCharacterClass_triggered();


private:

    Ui::CampaignForm *ui;

    QString         m_fileName;
    Campaign*       m_campaign;
    DTwentyModel*   m_model;


};

#endif // CAMPAIGNFORM_H
